From: Florian Müllner Date: Fri, 21 Sep 2012 20:19:27 +0000 (+0200) Subject: sessionMode: Add panelStyle property X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~5384 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=2511f60d39fbeb25f213fa00e785b368e4e72957;p=gnome-shell.git sessionMode: Add panelStyle property The panel should change appearance according to the sessionMode, so add a new panelStyle sessionMode property which allows to specify a mode specific style class for the panel actors. https://bugzilla.gnome.org/show_bug.cgi?id=684573 --- diff --git a/js/ui/panel.js b/js/ui/panel.js index e7f2c3b46..0388acf80 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -964,6 +964,8 @@ const Panel = new Lang.Class({ reactive: true }); this.actor._delegate = this; + this._sessionStyle = null; + this.statusArea = {}; this.menuManager = new PopupMenu.PopupMenuManager(this); @@ -1151,6 +1153,13 @@ const Panel = new Lang.Class({ this._updateBox(panel.left, this._leftBox); this._updateBox(panel.center, this._centerBox); this._updateBox(panel.right, this._rightBox); + + if (this._sessionStyle) + this._removeStyleClassName(this._sessionStyle); + + this._sessionStyle = Main.sessionMode.panelStyle; + if (this._sessionStyle) + this._addStyleClassName(this._sessionStyle); }, _initBox: function(elements, box) { @@ -1239,5 +1248,17 @@ const Panel = new Lang.Class({ this.statusArea[role] = indicator; this._addToPanelBox(role, indicator, position, boxContainer); return indicator; + }, + + _addStyleClassName: function(className) { + this.actor.add_style_class_name(className); + this._rightCorner.actor.add_style_class_name(className); + this._leftCorner.actor.add_style_class_name(className); + }, + + _removeStyleClassName: function(className) { + this.actor.remove_style_class_name(className); + this._rightCorner.actor.remove_style_class_name(className); + this._leftCorner.actor.remove_style_class_name(className); } }); diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js index 47b1bbffb..73f0fcb5f 100644 --- a/js/ui/sessionMode.js +++ b/js/ui/sessionMode.js @@ -28,6 +28,7 @@ const _modes = { center: [], right: [] }, + panelStyle: null }, 'gdm': { @@ -41,7 +42,8 @@ const _modes = { center: ['dateMenu'], right: ['a11y', 'display', 'keyboard', 'volume', 'battery', 'powerMenu'] - } + }, + panelStyle: 'login-screen' }, 'lock-screen': { @@ -54,6 +56,7 @@ const _modes = { center: [], right: ['lockScreen'] }, + panelStyle: 'lock-screen' }, 'unlock-dialog': { @@ -65,6 +68,7 @@ const _modes = { center: [], right: ['a11y', 'keyboard', 'lockScreen'] }, + panelStyle: 'unlock-screen' }, 'initial-setup': {